/**
 * 时间转换
 */
Ext.form.DateFieldEx = Ext.extend(Ext.form.DateField,{  
      format:"Y-m-d",  
      
      initComponent: function() {  
          this.hideTrigger = this.readOnly;  
          Ext.form.DateFieldEx.superclass.initComponent.call(this);  
      },  
       
      setValue:function(value){  
          var date = this.formatDate2(value);  
          Ext.form.DateFieldEx.superclass.setValue.call(this, date);  
      },  
       
      // private ,ext自己有个formatDate方法，因此这里用formatDate2  
      formatDate2 : function(date){  
          //CST时间和UTC时差转换  
          var dateStr=date.toString();  
          var position=dateStr.indexOf("UTC");  
          if(position!=-1){  
              return Ext.util.Format.date(date, this.format);  
         }else{  
              var vdate=new Date(date); //后台默认为格林尼治时间，该方法会默认把后台时间认为是北京时间，北京时间比格林尼治时间多14小时。  
              //找出当地时间偏移值的毫秒数  
              var localOffset=vdate.getTimezoneOffset()*60000;   
              var utcOffset= vdate.getTime() + localOffset;  
              timezone=utcOffset-6*3600000;//  
              var lastDate=new Date(timezone);       
              return Ext.util.Format.date(lastDate, this.format);   
            }  
      }  
  }
);

Ext.reg('datefieldex', Ext.form.DateFieldEx); 
